package dataStructure;

import java.util.ArrayList;

public class Find {
    public static Integer Binary_Search(ArrayList<Integer> L,Integer key){
        int low = 0;
        int high = L.size()-1;
        int mid = 0;
        while (low<=high){
            mid = (low+high)/2;
            if (L.get(mid).equals(key)){
                return mid;
            }else if (key>L.get(mid)){
                low = mid +1;
            }else if (key<L.get(mid)){
                high = mid -1;
            }
        }
        return -1;
    }

    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>(){{
            add(7);
            add(10);
            add(13);
            add(16);
            add(19);
            add(29);
            add(32);
            add(33);
            add(37);
            add(41);
            add(43);

        }};
        System.out.println(Binary_Search(list,33));
    }
}
